Software developers not only write code, but also frequently update the code when updating a corresponding software package or service. After writing or updating a piece of software, the developers often run tests to ensure that the individual units of source code are fit for use. After determining that the units are in fact fit for use, the developers may also perform integration testing to determine if the new code or the updates functions properly with other pieces of existing software and, further, whether this new code adversely affects the existing software. Finally, the developers may test an entire system, including the newly created updates, to determine whether the system as a whole functions properly.
While methods of software testing are useful in ensuring that software and systems that run the software operate correctly, these testing methods often require an undue amount of time and resources.